package session

type SessionStoreType string

const (
	SessionStoreTypeMemory   SessionStoreType = "memory"   // 内存存储会话信息
	SessionStoreTypeRedis    SessionStoreType = "redis"    // redis存储会话信息
	SessionStoreTypeDatabase SessionStoreType = "database" // 数据库存储会话信息
)

type SessionConfig struct {
	Enable    bool             `json:"enable"`    // 是否启用会话
	StoreType SessionStoreType `json:"storeType"` // 会话存储类型
	Key       string           `json:"key"`       // 会话key
	KeyFrom   []string         `json:"keyFrom"`   // 会话key来源 (header,cookie,query)
	Redis     *RedisCfg        `json:"redis"`     // redis配置
}

type RedisCfg struct {
	Addr     string `json:"addr"`     // redis地址 (host:port)
	Username string `json:"username"` // redis用户名 (username)
	Password string `json:"password"` // redis密码 (password)
	DB       int    `json:"db"`       // redis数据库 (0-15)
	MaxConn  int    `json:"maxConn"`  // 最大连接数
}
